diff --git a/setup.py b/setup.py
index d1cd56060c1a9d4e18576e3ebcdda41f2eca0cb9..8ef88d12dd382cd1f3624122493bcdd1dbe07629 100644
--- a/setup.py
+++ b/setup.py
@@ -17,9 +17,9 @@ class prepare_tinydtls(build_ext):
                 sys.exit(1)
 
         commands =  [
-                    ["autoconf"],
-                    ["autoheader"],
-                    ["./configure", "--without-ecc"],
+                    ["sh", "-c", "autoconf"],
+                    ["sh", "-c", "autoheader"],
+                    ["sh", "-c", "./configure", "--without-ecc"],
                     ]
         if not os.path.exists(os.path.join(os.path.dirname(__file__), 'DTLSSocket','tinydtls','dtls.c')):
             run_command(["git", "submodule", "update", "--init"])