Вы можете использовать переменные окружения, это обычный метод для передачи параметров и данных в дочерний процесс.
Если у вас есть исходный код C ++, мне нравится идея @ ghimireniraj по превращению кода C ++ в сборку .NET с использованием компилятора C ++ / CLI, тогда вам на самом деле не нужно запускать отдельную программу, и вы можете передать ваши данные в качестве аргументов функции.