Не будет разумно сделать это без настройки Java-приложения. Измените ваше приложение так, чтобы оно могло читать команды как с консоли ввода, так и , а также из сокета. Создайте сокет сервера, прослушивающий входящие соединения, прочитайте данные и интерпретируйте их как команду. Из сценария Perl или любого другого места, где вы хотите выполнить команду, подключитесь к порту прослушивания сокета сервера и запишите строку команды в сокет.
Вы даже можете создать чистую абстракцию, которая будет независима от «источника команд».
Обратите внимание, что является ограниченным API, который позволяет вам перехватывать и интерпретировать сигналы POSIX, но он скрыт и, вероятно, его не следует использовать.