When the execl function is called, since this function is a part of the glibc library, hence it provides a convenient interface to underlying execve call which is the main call understood by the kernel, rest all being wrappers. The execl call then prepares the arguments for the new executable.