diff --git a/bin/pike.in b/bin/pike.in
index f039d61f02c0a775abf05a497a653d67702c0d02..dd7a43055dbafb315c579e5ab353cec9540708a6 100644
--- a/bin/pike.in
+++ b/bin/pike.in
@@ -16,7 +16,12 @@ esac
 
 if test x"$1" = x--gdb; then
   shift
-  echo set args -m$BUILDDIR/master.pike $@ > .gdbinit
+  args="set args '-m$BUILDDIR/master.pike'"
+  for arg do
+    arg=`echo $arg | sed -e s/\'/\'\"\'\"\'/g`
+    args="$args '$arg'"
+  done
+  echo $args > .gdbinit
   gdb "$BUILDDIR/pike"
   rm .gdbinit
 else