--- /dev/null
+diff -u -r ../gawk-4.1.4/io.c ./io.c
+--- ../gawk-4.1.4/io.c 2016-08-24 15:31:55.000000000 -0400
++++ ./io.c 2016-11-23 18:27:30.481573610 -0500
+@@ -1976,7 +1976,7 @@
+
+ signal(SIGPIPE, SIG_DFL);
+
+- execl("/bin/sh", "sh", "-c", str, NULL);
++ execl("@TERMUX_PREFIX@/bin/sh", "sh", "-c", str, NULL);
+ _exit(errno == ENOENT ? 127 : 126);
+
+ case -1:
+@@ -2152,7 +2152,7 @@
+ fatal(_("close of pipe failed (%s)"), strerror(errno));
+ /* stderr does NOT get dup'ed onto child's stdout */
+ signal(SIGPIPE, SIG_DFL);
+- execl("/bin/sh", "sh", "-c", str, NULL);
++ execl("@TERMUX_PREFIX@/bin/sh", "sh", "-c", str, NULL);
+ _exit(errno == ENOENT ? 127 : 126);
+ }
+ #endif /* NOT __EMX__, NOT __MINGW32__ */
+@@ -2346,7 +2346,7 @@
+ if (close(p[0]) == -1 || close(p[1]) == -1)
+ fatal(_("close of pipe failed (%s)"), strerror(errno));
+ signal(SIGPIPE, SIG_DFL);
+- execl("/bin/sh", "sh", "-c", cmd, NULL);
++ execl("@TERMUX_PREFIX@/bin/sh", "sh", "-c", cmd, NULL);
+ _exit(errno == ENOENT ? 127 : 126);
+ }
+ #endif /* NOT __EMX__, NOT __MINGW32__ */