add: newargv[newargc++] = strdup(arg);
context: int main(int argc, char *argv[]){    char *host = NULL;    char *fsname;    int res;    int argctr;    int newargc = 0;    char **newargv = (char **) malloc((argc + 10) * sizeof(char *));    newargv[newargc++] = argv[0];    for (argctr = 1; argctr < argc; argctr++) {        char *arg = argv[argctr];        if (arg[0] == '-') {            switch (arg[1]) {            case 'h':                usage(argv[0]);                break;                            default:                newargv[newargc++] = strdup(arg);            }        } else if (!host && strchr(arg, ':'))            host = g_strdup(arg);        else            newargv[newargc++] = strdup(arg);    }    if (!host) {        fprintf(stderr, "missing host\n");        fprintf(stderr, "see `%s -h' for usage\n", argv[0]);        exit(1);    }    fsname = g_strdup(host);    base_path = strchr(host, ':');    *base_path++ = '\0';    if (base_path[0] && base_path[strlen(base_path)-1] != '/')        base_path = g_strdup_printf("%s/", base_path);    else        base_path = g_strdup(base_path);    process_options(&newargc, newargv, sshfs_opts, 1);    if (sshfs_opts[SOPT_DIRECTPORT].present)        res = connect_to(host, sshfs_opts[SOPT_DIRECTPORT].value);    else {        process_options(&newargc, newargv, ssh_opts, 0);        res = start_ssh(host);    }    if (res == -1)        exit(1);    g_free(host);    res = sftp_init();    if (res == -1)        exit(1);    res = processing_init();    if (res == -1)        exit(1);    newargv[newargc++] = "-omax_read=65536";    newargv[newargc++] = g_strdup_printf("-ofsname=sshfs#%s", fsname);    g_free(fsname);    newargv[newargc] = NULL;    return fuse_main(newargc, newargv, cache_init(&sshfs_oper));}