Как передать в текст кода переменную при динамической компиляции?
string code = File.ReadAllText(@"MyCompil.cs");
            code =code.Replace("hello", "Hi!");
Ну или в args передавать непосредственно при запуске приложения параметрами...
Ну 2 варианта
1. Все равно запускается новый процесс, и при создании процесса передать параметры
https://stackoverflow.com/questions/5766574/start-...

2. Компилировать не в исполняемый файл, а в сборку, динамически загружать сборку и создавать экземпляр нужного класса и ему передавать параметры 
https://learn.microsoft.com/en-us/dotnet/framework...