escapeshellcmd habe ich schonmal getestet, aber der lässt halt zu wenig durch.
zb kann ich nicht mehr pingen, weil keine punkte mehr erlaubt sind, ...
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.