Unlike older versions of sh the ENV script is only sourced on invocation
of interactive shells. This closes a well-known, and sometimes easily
exploitable security hole related to poorly thought out ENV scripts.

How ksh and bash handle it when called as /bin/sh, I wouldn't know off hand.

I believe the Korn Shell has some form of access to a GUI toolkit but have never actually looked into it.

Beyond scriptable interfaces like dialog/kdialog and whatever else is out there (which can create portability nightmares for scripts) a general purpose programming language and GUI toolkit is usually best for doing non-trival work.

If your not familiar with GUI toolkits, I'd suggest Qt -- it is well documented (in C++) and has bindings to many languages. PyQt (Python bindings to Qt) also makes things very painles to use/learn if you know enough C++ to follow the Qt documentation.

If your familiar with either language, Javas Swing and just about all of Pythons bindings to toolkits are probably good choices as well.

You could probably do a GUI application on OpenBSD in Assembly if you wanted to get jigy with it.