diff --git a/build/core/ndk-common.sh b/build/core/ndk-common.sh
index 2253bf5..cff2fa3 100644
--- a/build/core/ndk-common.sh
+++ b/build/core/ndk-common.sh
@@ -138,13 +138,13 @@
 {
     if [ "$VERBOSE" = "yes" ] ; then
         echo "## COMMAND: $@"
-        $@ 2>&1
+        "$@" 2>&1
     else
         if [ -n "$TMPLOG" ] ; then
             echo "## COMMAND: $@" >> $TMPLOG
-            $@ >>$TMPLOG 2>&1
+            "$@" >>$TMPLOG 2>&1
         else
-            $@ > /dev/null 2>&1
+            "$@" > /dev/null 2>&1
         fi
     fi
 }
@@ -723,7 +723,7 @@
     log "Copying file: $@"
     log "  from $SRCDIR"
     log "  to $DSTDIR"
-    mkdir -p "$DSTDIR" && (cd "$SRCDIR" && tar cf - $@) | (tar xf - -C "$DSTDIR")
+    mkdir -p "$DSTDIR" && (cd "$SRCDIR" && tar cf - "$@") | (tar xf - -C "$DSTDIR")
     fail_panic "Cannot copy files to directory: $DSTDIR"
 }
 
diff --git a/build/tools/builder-funcs.sh b/build/tools/builder-funcs.sh
index 173cd3d..e3b1dd2 100644
--- a/build/tools/builder-funcs.sh
+++ b/build/tools/builder-funcs.sh
@@ -26,7 +26,7 @@
         if [ "$VERBOSE2" = "yes" ]; then
             echo "$@"
         fi
-        $@
+        "$@"
     else
         echo "${_BUILD_TAB}${_BUILD_HIDE}$@" >> $_BUILD_MK
     fi
@@ -148,27 +148,27 @@
 
 builder_ldflags ()
 {
-    _builder_varadd _BUILD_LDFLAGS $@
+    _builder_varadd _BUILD_LDFLAGS "$@"
 }
 
 builder_ldflags_exe ()
 {
-    _builder_varadd _BUILD_LDFLAGS_EXE $@
+    _builder_varadd _BUILD_LDFLAGS_EXE "$@"
 }
 
 builder_cflags ()
 {
-    _builder_varadd _BUILD_CFLAGS $@
+    _builder_varadd _BUILD_CFLAGS "$@"
 }
 
 builder_cxxflags ()
 {
-    _builder_varadd _BUILD_CXXFLAGS $@
+    _builder_varadd _BUILD_CXXFLAGS "$@"
 }
 
 builder_c_includes ()
 {
-    _builder_varadd _BUILD_C_INCLUDES $@
+    _builder_varadd _BUILD_C_INCLUDES "$@"
 }
 
 builder_reset_cflags ()
@@ -216,7 +216,7 @@
     if [ -z "$_BUILD_CXX" ]; then
         _BUILD_CXX=${CXX:-g++}
     fi
-    for src in $@; do
+    for src in "$@"; do
         srcfull=$_BUILD_SRCDIR/$src
         if [ ! -f "$srcfull" ]; then
             echo "ERROR: Missing source file: $srcfull"
diff --git a/build/tools/prebuilt-common.sh b/build/tools/prebuilt-common.sh
index 2be6d23..e7e99dd 100644
--- a/build/tools/prebuilt-common.sh
+++ b/build/tools/prebuilt-common.sh
@@ -41,28 +41,28 @@
 # Usage:  str=`dashes_to_underscores <values>`
 dashes_to_underscores ()
 {
-    echo $@ | tr '-' '_'
+    echo "$@" | tr '-' '_'
 }
 
 # Translate underscores to dashes
 # Usage: str=`underscores_to_dashes <values>`
 underscores_to_dashes ()
 {
-    echo $@ | tr '_' '-'
+    echo "$@" | tr '_' '-'
 }
 
 # Translate commas to spaces
 # Usage: str=`commas_to_spaces <list>`
 commas_to_spaces ()
 {
-    echo $@ | tr ',' ' '
+    echo "$@" | tr ',' ' '
 }
 
 # Translate spaces to commas
 # Usage: list=`spaces_to_commas <string>`
 spaces_to_commas ()
 {
-    echo $@ | tr ' ' ','
+    echo "$@" | tr ' ' ','
 }
 
 # Remove trailing path of a path
@@ -111,7 +111,7 @@
 sort_uniq ()
 {
     local RET
-    RET=$(echo $@ | tr ' ' '\n' | sort -u)
+    RET=$(echo "$@" | tr ' ' '\n' | sort -u)
     echo $RET
 }
 
@@ -908,7 +908,7 @@
 {
     local NDK="$1"
     shift
-    echo "$NDK/$(get_toolchain_install_subdir $@)"
+    echo "$NDK/$(get_toolchain_install_subdir "$@")"
 }
 
 # $1: toolchain name
diff --git a/ndk-gdb b/ndk-gdb
index e6cf7af..efd9680 100755
--- a/ndk-gdb
+++ b/ndk-gdb
@@ -304,9 +304,9 @@
     # Run the command, while storing the standard output to CMD_OUT
     # and appending the exit code as the last line.
     if [ "$REDIRECT_STDERR" != 0 ]; then
-        $ADB_CMD shell $@ ";" echo \$? | sed -e 's![[:cntrl:]]!!g' > $CMD_OUT 2>&1
+        $ADB_CMD shell "$@" ";" echo \$? | sed -e 's![[:cntrl:]]!!g' > $CMD_OUT 2>&1
     else
-        $ADB_CMD shell $@ ";" echo \$? | sed -e 's![[:cntrl:]]!!g' > $CMD_OUT
+        $ADB_CMD shell "$@" ";" echo \$? | sed -e 's![[:cntrl:]]!!g' > $CMD_OUT
     fi
     # Get last line in log, which contains the exit code from the command
     RET=`sed -e '$!d' $CMD_OUT`
@@ -330,14 +330,14 @@
 # or 1 (failure) otherwise.
 adb_var_shell ()
 {
-    _adb_var_shell 0 $@
+    _adb_var_shell 0 "$@"
 }
 
 # A variant of adb_var_shell that stores both stdout and stderr in the output
 # $1: Variable name
 adb_var_shell2 ()
 {
-    _adb_var_shell 1 $@
+    _adb_var_shell 1 "$@"
 }
 
 # Return the PID of a given package or program, or 0 if it doesn't run
