Du hast IMHO doch eher ein ganz grundsätzliches Problem. Entweder überlässt du einem Besucher so einen Shellzugang, dann aber mit allen Konsequenzen, oder du machst es nicht und stellst gewünschte Funktionen anderweitig zur Verfügung, und wenn es auch sein muss, dass du für jede einzelne Funktion die Parameter einzeln annimmst, prüfst und den Aufruf selbst zusammenstellst. Mit der allgemeinen Filterei und Maskiererei wird immer hier etwas offen bleiben und dort zu viel verbaut werden. Was du im Moment probierst, ist nichts Halbes und nichts Ganzes.
die ganze sache läuft als projekt und die aufgabensteller verlangen eine sichere freie parameterfunktion. später soll damit ein spezielles programm gesteuert werden.