Hi,
On calling a fork() system call, a new process (which is called the child of the process which called fork()) is made. The child process has everything identical to the parent process except process id.
On calling exec() system call, an executable file is loaded in the process address space and executed. That is, the old contents of process are replaced by new contents present in the executable file which is executed.