Если ваши пользователи могут запускать программу decryptandrun, то они могут читать ее (и любые файлы, которые нужно прочитать, например ключи дешифрования). Таким образом, они могут просто извлечь код для расшифровки самих сценариев.
Вы можете обойти это, сделав decrtyptandrun suid. Но тогда любая ошибка в нем может привести к тому, что пользователь получит привилегии root (или, по крайней мере, привилегии для учетной записи, которая содержит ключи дешифрования). Так что это, вероятно, не очень хорошая идея. И, конечно же, если вы приложили все усилия, чтобы скрыть содержимое или ключи этих сценариев дешифрования, сделав их недоступными для чтения пользователю ... то почему вы не можете сделать то же самое с содержимым сценариев, которые вы пытаешься спрятаться?
Кроме того, вы не можете иметь интерпретируемый исполняемый файл #!
в качестве интерпретатора для другого интерпретируемого исполняемого файла #!
.
И одно из фундаментальных правил криптографии: не изобретайте свой собственный алгоритм шифрования (или инструменты), если вы не опытный криптоаналитик.
Что заставляет меня задуматься, почему вы чувствуете необходимость шифровать сценарии, которые будут запускать ваши пользователи. Что-то не так с ними, когда они видят содержание сценариев?