The exec functions shall fail if:
E2BIG
The number of bytes used by the new process image's
argument list and environment list is greater than the
system-imposed limit of {ARG_MAX} bytes.
EACCES
The new process image file is not a regular file and the
implementation does not support execution of files of its
type.
EINVAL
The new process image file has appropriate privileges and
has a recognized executable binary format, but the system
does not support execution of a file with this format.
The exec functions, except for fexecve(), shall fail if:
EACCES
Search permission is denied for a directory listed in the
new process image file's path prefix, or the new process
image file denies execution permission.
ELOOP
A loop exists in symbolic links encountered during
resolution of the path or file argument.
ENAMETOOLONG
The length of a component of a pathname is longer than
{NAME_MAX}.
ENOENT
A component of path or file does not name an existing file
or path or file is an empty string.
ENOTDIR
A component of the new process image file's path prefix
names an existing file that is neither a directory nor a
symbolic link to a directory, or the new process image
file's pathname contains at least one non-<slash>
character and ends with one or more trailing <slash>
characters and the last pathname component names an
existing file that is neither a directory nor a symbolic
link to a directory.
The exec functions, except for execlp() and execvp(), shall fail
if:
ENOEXEC
The new process image file has the appropriate access
permission but has an unrecognized format.
The fexecve() function shall fail if:
EBADF
The fd argument is not a valid file descriptor open for
executing.
The exec functions may fail if:
ENOMEM
The new process image requires more memory than is allowed
by the hardware or system-imposed memory management
constraints.
The exec functions, except for fexecve(), may fail if:
ELOOP
More than {SYMLOOP_MAX} symbolic links were encountered
during resolution of the path or file argument.
ENAMETOOLONG
The length of the path argument or the length of the
pathname constructed from the file argument exceeds
{PATH_MAX}, or pathname resolution of a symbolic link
produced an intermediate result with a length that exceeds
{PATH_MAX}.
ETXTBSY
The new process image file is a pure procedure (shared
text) file that is currently open for writing by some
process.
The following sections are informative.