#include <vector>
struct sometype{};

int handler(int argc, const sometype *const *argv);

int handler(const std::vector<sometype*>& arg) 
{return handler(arg.size(), &arg[0]);} //no copies

int handler(int argc, const sometype *const*argv) {
    const std::vector<const sometype*> arg(argv, argv+argc); //this will copy the pointers
    //stuff
    return 0;
}

int main() {}