-.IR execve\| 'd,
-the system \fIexecve\fP\|'s the specified \fIinterpreter\fP, giving
-it the name of the originally exec'd file as an argument,
-shifting over the rest of the original arguments.
-.PP
-There can be no return from a successful \fIexecve\fP because the calling
-core image is lost.
-This is the mechanism whereby different process images become active.
-.PP
-The argument \fIargv\fP is an array of character pointers
-to null-terminated character strings. These strings constitute
-the argument list to be made available to the new
-process. By convention, at least one argument must be present in
-this array, and the first element of this array should be
-the name of the executed program (i.e. the last component of \fIname\fP).
-.PP
-The argument \fIenvp\fP is also an array of character pointers
-to null-terminated strings. These strings pass information to the
-new process that is not directly an argument to the command, see
-.IR environ (7).
-.PP
-Descriptors open in the calling process remain open in
-the new process, except for those for which the close-on-exec
-flag is set; see
-.IR close (2).
+.Fn execve Ap d ,
+the system
+.Fn execve Ap s
+the specified
+.Em interpreter .
+If the optional
+.Em arg
+is specified, it becomes the first argument to the
+.Em interpreter ,
+and the name of the originally
+.Fn execve Ap d
+file becomes the second argument;
+otherwise, the name of the originally
+.Fn execve Ap d
+file becomes the first argument. The original arguments are shifted over to
+become the subsequent arguments. The zeroth argument, normally the name of the
+.Fn execve Ap d
+file, is left unchanged.
+.Pp
+The argument
+.Fa argv
+is a pointer to a null-terminated array of
+character pointers to null-terminated character strings.
+These strings construct the argument list to be made available to the new
+process. At least one argument must be present in
+the array; by custom, the first element should be
+the name of the executed program (for example, the last component of
+.Fa path ) .
+.Pp
+The argument
+.Fa envp
+is also a pointer to a null-terminated array of
+character pointers to null-terminated strings.
+A pointer to this array is normally stored in the global variable
+.Va environ.
+These strings pass information to the
+new process that is not directly an argument to the command (see
+.Xr environ 7 ) .
+.Pp
+File descriptors open in the calling process image remain open in
+the new process image, except for those for which the close-on-exec
+flag is set (see
+.Xr close 2
+and
+.Xr fcntl 2 ) .