Both args and envp are better characterised as arrays of pointers, e.g. char *args[], rather than as pointers to pointers.  While these types are implemented identically in C, it can be an aid to clarity to declare them this way (and, indeed, this is how the C89 standard declares args).