Replace: main(argc, argv) int argc; char *argv[]; with main(argc, argv, envp) int argc; char *argv[], *envp[]; and your troubles should go away. It is likely that the exec(2) page in your SGI documentation has the explanation of envp. Sounds like SGI has an unusual argument passing method. Dave