#include #include #include extern const char **environ; // see 'man environ' int main(int argc, const char* argv[]) { if(argc < 2) { return 0; } std::string cmd = argv[1]; if(cmd == "envdump") { if(argc < 3) { return 0; } std::ofstream ostrm(argv[2], std::ios::binary); for(auto current = environ; *current; ++current) { ostrm << (*current) << "\n"; } } if(cmd == "retval") { if(argc < 3) { return 0; } return std::stoi(argv[2]); } if(cmd == "abort") { abort(); } if(cmd == "throw") { throw "ouch"; } return 0; }