После того, как программа запущена и внутри этого цикла, внешне невозможно изменить параметры, передаваемые в эту программу. То, что вы будете делать, - это запустить эту программу и запустить отдельную программу, чтобы отправить в нее сообщение во время работы для изменения состояния. Внутри вашего бесконечного цикла вам понадобится код для поиска, получения этого сообщения и вступления в силу. Есть много способов выполнить эту коммуникацию. Наиболее простой версией будет периодический опрос файла каждые столько итераций в вашем бесконечном цикле. Если содержимое файла изменилось, прочитайте их, и это будет новое значение X. Затем, чтобы изменить переменную из командной строки, вы просто запускаете команду типа
echo "NewValue" > file.txt
Файлы будут работать здесь, хотя что-то вроде каналов будет более подходящим.