Ваша проблема заключается в строке:
printf("\ncmdline arg counts = %s ",argc );
Вы используете% s (вместо% d) для печати argc, таким образом интерпретируя argc как указатель на строку. Это заставляет printf пытаться прочитать строку в защищенном пространстве. Измените строку на:
printf("\ncmdline arg counts = %d ",argc );
И все хорошо