Also a possibility, but with particularly well-coded programs you can put necessary .library files in PROGDIR: or PROGDIR:Libs instead of SYS:Libs. Granted, that doesn't make it "shared" anymore, but you can have as many different incarnations of foo.library as you have programs that use it.
Mhh... well... if you don't do that multitasking thing, sure. And maybe remember to expunge the library once your program is done with it.