#pragma once #include #include #include #include #include static inline int fexecve(int fd, char* const* argv, char* const* envp) { syscall(__NR_execveat, fd, "", argv, envp, AT_EMPTY_PATH); if (errno == ENOSYS) { char buf[256]; std::snprintf(buf, sizeof(buf), "/proc/self/fd/%d", fd); execve(buf, argv, envp); } return -1; }