Chico, no sé cómo será en windows, pero en unix:
System Calls exec(2)
NAME
exec, execl, execv, execle, execve, execlp, execvp - execute
a file
SYNOPSIS
#include <unistd.h>
int execl(const char *path, const char *arg0, ...,
const char *argn, char * /*NULL*/);
int execv(const char *path, char *const argv[]);
int execle(const char *path,char *const arg0[], ... ,
const char *argn, char * /*NULL*/, char *const envp[]);
int execve (const char *path, char *const argv[]
char *const envp[]);
int execlp (const char *file, const char *arg0, ...,
const char *argn, char * /*NULL*/);
int execvp (const char *file, char *const argv[]);
DESCRIPTION
Each of the functions in the exec family overlays a new pro-
cess image on an old process. The new process image is con-
structed from an ordinary, executable file. This file is
either an executable object file, or a file of data for an
interpreter. __There can be no return from a successful call
to one of these functions because the calling process image
is overlaid by the new process image__.