pre_exec
pid = run_helper(pre_exec, &data, args);
extern int run_helper(void (*pre_exec)(void *), void *pre_data, char **argv);
void (*pre_exec)(void*);
if (data->pre_exec != NULL)
(*data->pre_exec)(data->pre_data);
int run_helper(void (*pre_exec)(void *), void *pre_data, char **argv)
data.pre_exec = pre_exec;