When cshell is a login shell, it is given a special name of -. What you may want to try is is the following : execl("/bin/csh", "-", (char **)0 ); This will invoke the csh as if the shell was invoked by login. Ricky Glass - reg at pinet.aip.org