The more easy specification will be int execel(const char *path, const char *arg0, char *const envp[], ... /*, (char *)0*/);with same functionality but reordered the parameters of the function following the general pattern of putting '...' in the last position.
Don't blame gcc developers (whose mailing list this is, unless something changed recently and I wasn't warned); take the discussion in the appropriate places and they'll care to explain you the reasons (maybe).
Paolo