Elysia is coding against POSIX?
I apologize for that huge banging sound you just heard -- that was my jaw hitting the floor.
Anyway, to comprehend the weird arguments to execlp(), think of it this way: the first parameter is the program to execute, that part is obvious. The following parameters will be used to populate the argv[] array of the newly executing program. As we know, the first entry in argv[] should be the name of the program itself, thus you pass it there as well. And the function has a variadic signature, so the compiler is unlikely to catch mistakes when calling it.
And.. in those moments you're thinking "POSIX really sucks..." Yeah, it does