Revert "mode_flag: make it empty array"

This reverts commit afe564f9a961f608d9c2b89aebe25e1c1c10063b.

Reason for revert:
Causes a breakage with mod_image_for_recovery.sh on all legacy builders. See https://bugs.chromium.org/p/chromium/issues/detail?id=1180660#c7

Original change's description:
> mode_flag: make it empty array
>
> Since bash-4.4, "${array[@]:+${array[@]}}" resolves to "", whereas
> before it was resolving to an empty array.
> _check_mount_image_flags expects an empty array, make it so.
>
> BUG=None
> TEST=unit tests
>
> Change-Id: I9de8439bcd8e20098b162c21dd03b6adcc3ac856
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosutils/+/2685277
> Commit-Queue: Sergey Frolov <sfrolov@google.com>
> Tested-by: Sergey Frolov <sfrolov@google.com>
> Reviewed-by: Mike Frysinger <vapier@chromium.org>

Cq-Depend: chromium:2711674
Cq-Depend: chromium:2710230

BUG=chromium:1180660
Change-Id: I7747bb1bfdf4d35b5ca593eb239f4fc1d00745fd
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosutils/+/2710149
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
diff --git a/build_library/mount_gpt_util.sh b/build_library/mount_gpt_util.sh
index c828c91..e92766b 100755
--- a/build_library/mount_gpt_util.sh
+++ b/build_library/mount_gpt_util.sh
@@ -49,14 +49,12 @@
   if [[ -n "${4:-}" ]]; then
     MOUNT_GPT_OPTIONS+=( --esp_mountpt "$4" )
   fi
-  local mode_flag=()
-  if [[ -n "${5:-}" ]]; then
-    mode_flag+=("$5")
-  fi
-  _check_mount_image_flags "${mode_flag[@]}"
+  # Bash returns an empty array for mode_flag if $@ has less than 5 elements.
+  local mode_flag=( "${@:5:1}" )
+  _check_mount_image_flags "${mode_flag[@]:+${mode_flag[@]}}"
 
   "${SCRIPTS_DIR}/mount_gpt_image.sh" "${MOUNT_GPT_OPTIONS[@]}" \
-    "${mode_flag[@]}"
+    "${mode_flag[@]:+${mode_flag[@]}}"
 }
 
 # Usage: unmount_image