<p>I've tried variations of this, but had no luck other than the ability to start a cygwin window. (wrapped on <strong>;</strong> for clarity)</p>

<pre><code>Filename: "c:\cygwin\bin\bash.exe";
  Parameters: "-c c:/scripts/step1.sh paramX";
  Flags: shellexec waituntilterminated;
  StatusMsg: "Running the script..."
</code></pre>

<p>(this is for an internal install, thus cywin is installed, and all paths, scripts are known)</p>

I think you're going to need to make the whole thing part of a
```
cmd.exe
```
invocation, and then I'm not sure it will do exactly what you want/need.
I'm looking at Inno-Setup 5 documentation (may be out-of-date), but I don't think you need the
```
shellexec
```
or
```
waituntilterminated
```
flags.
Try something like
```
```
Filename: "cmd.exe"; Parameters: "/c c:\cygwin\bin\bash -c 'c:/scripts/step1.sh paramx'"
```
```
Untested, caveat emptor.