-.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 which are not directly arguments 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).
-Descriptors which remain open are unaffected by
-.IR execve .
-.PP
-Ignored signals remain ignored across an
-.IR execve ,
-but signals that are caught are reset to their default values.
-The signal stack is reset to be undefined; see
-.IR sigvec (2)
-for more information.
-.PP
-Each process has
-.I real
-user and group IDs and a
-.I effective
-user and group IDs. The
-.I real
-ID identifies the person using the system; the
-.I effective
-ID determines his access privileges.
-.I Execve
-changes the effective user and group ID to
-the owner of the executed file if the file has the \*(lqset-user-ID\*(rq
-or \*(lqset-group-ID\*(rq modes. The
-.I real
-user ID is not affected.
-.PP
+.Fn execve Ap d ,
+the system
+.Fn execve Ap s
+runs 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 ) .
+Descriptors that remain open are unaffected by
+.Fn execve .
+.Pp
+Signals set to be ignored in the calling process are set to be ignored in
+the
+new process. Signals which are set to be caught in the calling process image
+are set to default action in the new process image.
+Blocked signals remain blocked regardless of changes to the signal action.
+The signal stack is reset to be undefined (see
+.Xr sigaction 2
+for more information).
+.Pp
+If the set-user-ID mode bit of the new process image file is set
+(see
+.Xr chmod 2 ) ,
+the effective user ID of the new process image is set to the owner ID
+of the new process image file.
+If the set-group-ID mode bit of the new process image file is set,
+the effective group ID of the new process image is set to the group ID
+of the new process image file.
+(The effective group ID is the first element of the group list.)
+The real user ID, real group ID and
+other group IDs of the new process image remain the same as the calling
+process image.
+After any set-user-ID and set-group-ID processing,
+the effective user ID is recorded as the saved set-user-ID,
+and the effective group ID is recorded as the saved set-group-ID.
+These values may be used in changing the effective IDs later (see
+.Xr setuid 2 ) .
+.Pp