Stelian,
I added to iolib.os a different implementation that calls posix_spawn(3)
Great, I agree that posix_spawn is a better solution than fork/exec.
The implementation is currently not very complete
I rewrite your code, so that it now passes my tests.
I tested it on Linux with SBCL, Clozure CL and CLISP.
My code in fork iolib: http://gitorious.org/~archimag/iolib/archimag-iolib/blobs/master/src/os/crea... My tests: http://gitorious.org/iolib-test/iolib-test/blobs/master/process.lisp
Andrey