Update: I've run the game through gdb, here is the output:
Starting program: /home/karl/PenumbraCollection/Overture/penumbra.bin
/home/karl/PenumbraCollection/Overture/penumbra.bin: ./lib/libCgGL.so: no version information available (required by /home/karl/PenumbraCollection/Overture/penumbra.bin)
/home/karl/PenumbraCollection/Overture/penumbra.bin: ./lib/libCg.so: no version information available (required by /home/karl/PenumbraCollection/Overture/penumbra.bin)
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
[New Thread 0xf4e71b40 (LWP 1694)]
[New Thread 0xf1d8fb40 (LWP 1695)]
[Thread 0xf1d8fb40 (LWP 1695) exited]
[New Thread 0xf1d8fb40 (LWP 1696)]
[New Thread 0xed58db40 (LWP 1697)]
[New Thread 0xecd8cb40 (LWP 1698)]
[Thread 0xecd8cb40 (LWP 1698) exited]
[New Thread 0xecd8cb40 (LWP 1699)]
[New Thread 0xec3ffb40 (LWP 1700)]
[Thread 0xec3ffb40 (LWP 1700) exited]
[New Thread 0xec3ffb40 (LWP 1701)]
[Thread 0xec3ffb40 (LWP 1701) exited]
Program received signal SIGSEGV, Segmentation fault.
0xf7192b3e in mdct_backward () from /usr/lib32/libvorbis.so.0
So, I'm suspicious of libvorbis now. I'm not using the version supplied with the game, but rather the system one. I shall have a play around and see if I can get any further, but any additional advice you could offer would be appreciated.
Success! I extracted the i386 libvorbis library from this package: http://security.ubuntu.com/ubuntu/pool/m...1_i386.deb
and dropped it into my /Overture/libs directory. Overture works. Tried the same for Black plague and that worked, and the same for requiem. Posting the solution here in case anyone else has the same problems.
Arch users may need to get deb2targz.pl from the AUR: https://aur.archlinux.org/packages.php?ID=57285
in order to extract the files.