// This source code is released into the public domain. export module nihil.posix:execl; import nihil.std; import nihil.error; import :argv; import :execv; import :fd; namespace nihil { // execl: equivalent to execv, except the arguments are passed as a // variadic pack of string-like objects. export [[nodiscard]] auto execl(std::filesystem::path path, auto &&...args) -> execv { return execv(std::move(path), argv({std::string_view(args)...})); } export [[nodiscard]] auto execl(fd &&executable, auto &&...args) -> execv { return execv(std::move(executable), argv({std::string_view(args)...})); } } // namespace nihil