--- /dev/null
+diff -u -r ../postgresql-9.6.2/src/bin/pg_ctl/pg_ctl.c ./src/bin/pg_ctl/pg_ctl.c
+--- ../postgresql-9.6.2/src/bin/pg_ctl/pg_ctl.c 2017-02-06 22:45:25.000000000 +0100
++++ ./src/bin/pg_ctl/pg_ctl.c 2017-03-05 14:47:06.985823535 +0100
+@@ -466,7 +466,7 @@
+ snprintf(cmd, MAXPGPATH, "exec \"%s\" %s%s < \"%s\" 2>&1",
+ exec_path, pgdata_opt, post_opts, DEVNULL);
+
+- (void) execl("/bin/sh", "/bin/sh", "-c", cmd, (char *) NULL);
++ (void) execl("@TERMUX_PREFIX@/bin/sh", "sh", "-c", cmd, (char *) NULL);
+
+ /* exec failed */
+ write_stderr(_("%s: could not start server: %s\n"),
--- /dev/null
+diff -u -r ../postgresql-9.6.2/src/bin/pg_upgrade/check.c ./src/bin/pg_upgrade/check.c
+--- ../postgresql-9.6.2/src/bin/pg_upgrade/check.c 2017-02-06 22:45:25.000000000 +0100
++++ ./src/bin/pg_upgrade/check.c 2017-03-05 14:47:58.793188439 +0100
+@@ -436,7 +436,7 @@
+
+ #ifndef WIN32
+ /* add shebang header */
+- fprintf(script, "#!/bin/sh\n\n");
++ fprintf(script, "#!@TERMUX_PREFIX@/bin/sh\n\n");
+ #else
+ /* suppress command echoing */
+ fprintf(script, "@echo off\n");
+@@ -564,7 +564,7 @@
+
+ #ifndef WIN32
+ /* add shebang header */
+- fprintf(script, "#!/bin/sh\n\n");
++ fprintf(script, "#!@TERMUX_PREFIX@/bin/sh\n\n");
+ #endif
+
+ /* delete old cluster's default tablespace */
--- /dev/null
+diff -u -r ../postgresql-9.6.2/src/bin/psql/command.c ./src/bin/psql/command.c
+--- ../postgresql-9.6.2/src/bin/psql/command.c 2017-02-06 22:45:25.000000000 +0100
++++ ./src/bin/psql/command.c 2017-03-05 14:45:58.038668777 +0100
+@@ -3076,7 +3076,7 @@
+
+
+ #ifndef WIN32
+-#define DEFAULT_SHELL "/bin/sh"
++#define DEFAULT_SHELL "@TERMUX_PREFIX@/bin/sh"
+ #else
+ /*
+ * CMD.EXE is in different places in different Win32 releases so we