how come this can't execute multiple actions?
void execute_action(Action *a) {
    Action *curr = a;
    char buffer[MAXLINE];

    while (curr != NULL) {
        args_to_string(curr->args, buffer, sizeof(buffer));
        printf("%s\n", buffer);
        curr = curr->next_act;
    }

    Action *curr2 = a;

    while (curr2 != NULL) {
        execvp(curr2->args[0], curr2->args);
        curr2 = curr2->next_act;
    }
}