Operating Systems, Processes And Threads, Multitasking.
of the Linux kernel developers, fork is only creating a process, while exec is starting a program. The trouble is starting a program means creating a process, and creating a process means starting a program. So, what exec ends up doing is replace the process created by fork with the new application