Désolé, j'ai fais une erreur. Le code corrigé est : for (argc = 0, c = cmd; *c != '\0'; c++) if(*c == ' ') { while(*c == ' ') c++; while((*c != ' ')&&(*c != '\0')) c++; if(*(c-1) != ' ') argc++; } [.....] for (i = 0, c = cmd; i < argc; i++) { while(*c == ' ') c++; argv[i] = c; while (*c != ' ' && *c != '\0') c++; *c = '\0'; c++; } Cyril