Envoyé par man execl
int execl(const char *path, const char *arg, ...);
<...>
Les arguments const char *arg ainsi que les points de suspension des
fonctions execl(), execlp(), et execle() peuvent être vues comme arg0,
arg1, ..., argn. Ensemble, ils décrivent une liste d'un ou plusieurs
pointeurs sur des chaînes de caractères terminées par des caractères
nuls, qui constituent les arguments disponibles pour le programme à
exécuter. Par convention, le premier argument doit pointer sur le nom
du fichier associé au programme à exécuter. La liste des arguments doit
se terminer par un pointeur NULL, et puisque ce sont des fonctions
variadiques, ce pointeur doit être transtypé avec (char *) NULL.