diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 0f3f35d..a27ef63 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -663,6 +663,25 @@
             os.remove(fname)
             self.assertEqual(rc, 47)
 
+        def test_specific_shell(self):
+            # Issue #9265: Incorrect name passed as arg[0].
+            shells = []
+            for prefix in ['/bin', '/usr/bin/', '/usr/local/bin']:
+                for name in ['bash', 'ksh']:
+                    sh = os.path.join(prefix, name)
+                    if os.path.isfile(sh):
+                        shells.append(sh)
+            if not shells: # Will probably work for any shell but csh.
+                self.skipTest("bash or ksh required for this test")
+            sh = '/bin/sh'
+            if os.path.isfile(sh) and not os.path.islink(sh):
+                # Test will fail if /bin/sh is a symlink to csh.
+                shells.append(sh)
+            for sh in shells:
+                p = subprocess.Popen("echo $0", executable=sh, shell=True,
+                                     stdout=subprocess.PIPE)
+                self.assertEqual(p.stdout.read().strip(), bytes(sh, 'ascii'))
+
         def DISABLED_test_send_signal(self):
             p = subprocess.Popen([sys.executable,
                               "-c", "input()"])
