What are you advocating then, in regards to all this? Are you lobbying for forks and threads that don't use clone(), so you get a pure executable space, unencumbered by the parent process's ENV and filehandles? I think that would be the most desirable way to do it, but you would be forced to deal with the filehandles yourself, having to open them all manually. Most people don't expect to have to manually open stdout or stdin.