The system calls used for low-level process creation are execlp() and execvp(). The execlp call overlays the existing program with the new one, runs that and exits. The original program gets back control only when an error occurs.
execlp(path,file_name,arguments) //last argument must be NULL.
A variant of execlp called execvp is used when the number of arguments is not known in advance.
execvp(path,argument_array) //argument array should be terminated by NULL.