I got it working! Your request for the master's replication.conf put me on the right track: it was the mv command to the shared directory accessed by server2 that caused the trouble. I still don't understand why that's the case, but after I rearranged the commands, it started working as expected on server2 (which was the one throwing the errors, I didn't test server1 but I guess I would have been fine).
journal_archive_command = "test ! -f $(archivepathname) && cp $(pathname) /usr/local/shared/db_archive_server1/db/ && cp $(pathname) /usr/local/shared/db_archive_server2/db/ && mv $(pathname) $(archivepathname)"
Now the files actually used for replication are copied with the cp command and the last command moves the segment to the archive directory which has no other purpose than to archive them (not sure if that's necessary, I guess I could as well just delete the segment, can I?).
Or maybe, if I want to archive them properly, I should mv $(pathname) $(archivepathname)&& rm ${pathname} (otherwise if ever I wanted to use those archived segments, they would produce the state error).
By the way, thanks for the quick answers, even to dumb questions, this is of tremendous help for a Firebird newbie such as myself!