Verifique este link da Wikipedia sobre a função Exec e este link em Iniciando um processo com as chamadas exec ()
e - Uma matriz de ponteiros para variáveis de ambiente é passada explicitamente para a nova imagem do processo.
The "e" suffix versions pass an environment to the program. An environment is just that—a kind of "context" for the program to operate in. For example, you may have a spelling checker that has a dictionary of words. Instead of specifying the dictionary's location every time on the command line, you could provide it in the environment:
l - Os argumentos da linha de comando são passados individualmente (uma lista) para a função.
For example, if I want to invoke the ls command with the arguments -t, -r, and -l (meaning "sort the output by time, in reverse order, and show me the long version of the output"), I could specify it as either.
p - Usa a variável de ambiente PATH para encontrar o arquivo nomeado no argumento do caminho a ser executado.
The "p" suffix versions will search the directories in your PATH environment variable to find the executable. You've probably noticed that all the examples have a hard-coded location for the executable: /bin/ls and /usr/bin/spellcheck. What about other executables? Unless you want to first find out the exact path for that particular program, it would be best to have the user tell your program all the places to search for executables. The standard PATH environment variable does just that.
v - Os argumentos da linha de comando são passados para a função como uma matriz (vetor) de ponteiros.
The argument list is specified via a pointer to an argument vector.
Como mencionado na outra resposta, este link em Unix System Calls também é igualmente impressionante para leitura adicional.