for a space-seperated string, divide it by spaced and save each to a char array which is in an array.
Action *curr_act = curr_rule->actions;
        while (fgets(line, MAXLINE, fp) && line[0] == '\t') {
            Action *act = malloc(sizeof(Action));
            char **args = NULL;

            int count = 0;
            while ((token = strtok(line, " \t\n")) != NULL) {
                args[count] = malloc(sizeof(char) * (strlen(token) + 1));
                strcpy(args[count],token);
                args[count][strlen(token)] = '\0';
                count++;
            }
            
            act->args = malloc((count + 1) * sizeof(char *));
            for (int i = 0; i < count; i++) {
                strcpy(act->args[i], args[i]);
            }
            act->args[count] = NULL; // Add a NULL point to the end of the array.

            // Link actions to rule
            if (curr_rule->actions == NULL) {
                curr_rule->actions = act;
                curr_act = act;
            } else {
                curr_act->next_act = act;
                curr_act = act;
            }
        }