L'intérêt d'utiliser un fork() avant de lancer la fonction exec() c'est que cette dernière va effacer ENTIEREMENT l'ensemble du code qui la suit... Ainsi tu peux faire :
pid = fork()
if(pid == 0){
// On est dans le processus fils
exec(/*les différents arguments, jette un coup d'oeil dans le man ;) */);
// Le code qui suit ne sera jamais executé sauf si il y a une erreur au moment du lancement de la fonction exec
// L'empechant de s'exécuter
fprintf(stderr, "Erreur lors de le lancement de la fonction exec()");
perror("exec");
} else {
// Ici, on est dans le processus père
}