FYI, I've just released a new version of exec.dll that no longer runs cmd.exe. This simplifies a bunch of the plumbing and improves wine compat. I added a -c and -o switch, so it looks like yours:
/exec -co ls -la | grep \.exe
Note that -c spawns a cmd shell. You can now edit this, however, to run \bin\sh -c instead. Change line 142. If mIRC ever exposes a way to detect wine, I can autodetect this and switch to \bin\sh automatically, but in the meantime it's not a huge change.
Without -c you could just do:
/exec \bin\sh -c ls -la | grep \.exe
Again, not that different.