Why is the malloc data not saved
char **arr = malloc(sizeof(char *) * space);
malloc_check(arr);

// Fill array with values
int index = 0;
while (token != NULL) {
    arr[index] = malloc(sizeof(char) * (strlen(token) + 1));
    malloc_check(arr[index]);
    strcpy(arr[index], token);

    index++;
    token = strtok(NULL, str);
}

// Create and initialize new Action node
Action *new_act = malloc(sizeof(Action));
malloc_check(new_act);

new_act->args = arr;
new_act->next_act = NULL;

// Link Action and Rules
Action *last_act = select_last_act(line_first_rule->actions);
if (last_act == NULL) {
    line_first_rule->actions = new_act;
} else {
    last_act->next_act = new_act;
}