Цикл выполняется один раз для каждого аргумента из командной строки (argc), тогда как необходимо проанализировать количество итераций из (первых) аргументов командной строки (argv [1])
Вы также хотите изменить сон на 1 секунду, согласно требованию.
int count = atoi(argv[1]) ;
for (counter = 0; counter<count ; counter++) {
sleep (1) ;
...
}