Question: I have been following a system programming course recently and I came through the system calls **exec()** and **execve()**. So far I cannot find any difference between these two, Even the Wikipedia does not give a clear explanation, so is there a difference between **exec()** and **execve()**. 

And someone please could give brief descriptions about exec family system calls such as **execl()**, **execv()**, **execle()**, **execvp()**.

Answer: 
To answer the first part of your question, in the context of Linux specifically, there is only one system call and it's **execve** (not **exec**). The remainder of the so called "exec family" (**execl**, **execle**, **execv**, **execve**, **execvp**, etc.) are all GLIBC wrappers for for the kernel's system call, that is **execve**.
Within the exec family, there are functions that vary slightly in their capabilities and how they are called:

1. Functions that contain the letter p in their names (`execvp` and `execlp`) accept a program name and search for a program by that name in the current execution path; functions that don’t contain the p must be given the full path of the program to be executed.
2. Functions that contain the letter v in their names (`execv`, `execvp`, and execve) accept the argument list for the new program as a NULL-terminated array of pointers to strings. Functions that contain the letter l (`execl`, `execlp`, and
execle) accept the argument list using the C language’s `varargs` mechanism.
3. Functions that contain the letter e in their names (`execve` and `execle`) accept an additional argument, an array of environment variables.The argument should be
a NULL-terminated array of pointers to character strings. Each character string
should be of the form `VARIABLE=value`.

[Source](https://books.google.co.in/books?id=a_DJCgAAQBAJ&lpg=PT98&ots=HgDX2IRaQu&dq=Functions%20that%20contain%20the%20letter%20p%20in%20their%20names%20(execvp%20and%20execlp)&pg=PT98#v=onepage&q=Functions%20that%20contain%20the%20letter%20p%20in%20their%20names%20(execvp%20and%20execlp)&f=false)