Обработка аргументов командной строки
При запуске программы ОС отводит в её адресном пространстве специальную область памяти, в которой располагает строки, составляющие командную строку. Получив доступ к этой области памяти можно, описав функцию main как имеющую параметры:
- int argc - (argument count) количество элементов командной строки
- char ** argv - (argument vector) указатель на массив указателей на слова, составляющие командную строку
ls -l -a /usr/local: argc = 4, однако argv содержит на один больше - завершающий NULL

Вывести все переданные параметры командной строки:
int main(int argc, char ** argv)
{
    argv++; // поскольку argv[0] - название исполняемого файла
    while(*argv) // поскольку в конце null_ptr
    {
        std::cout << *argv << " ";
        argv++;
    }
    return 0;
}
