is there a segmentation fault
Action *add_action_line(char line[MAXLINE]) {
    // Find number of arguments
    int arguments = 1;
    for (int i = 0; i < strlen(line); i++) {
        if (line[i] == ' ') {
            arguments++;
        }
    }

    char **arr = malloc(sizeof(char *) * arguments);
    int j = 0;

    // Get first argument
    char *token = strtok(line, "\t ");
    arr[j] = token;
    j++;

    while ((token = strtok(NULL, " ")) != NULL) {
        arr[j] = token;
        j++;
    }

    Action *new_action = malloc(sizeof(Action));
    new_action->args = arr;
    new_action->next_act = NULL;

    return new_action;
}