#include <stdarg.h>
#include <unistd.h>

int execl(const char* path, const char* argv0, ...) {
  int argc;
  va_list ap;
  va_start(ap, argv0);
  for (argc = 1; va_arg(ap, const char*); argc++)
    ;
  va_end(ap);
  {
    int i;
    char* argv[argc + 1];
    va_start(ap, argv0);
    argv[0] = (char*)argv0;
    for (i = 1; i < argc; i++)
      argv[i] = va_arg(ap, char*);
    argv[i] = NULL;
    va_end(ap);
    return execv(path, argv);
  }
}
