diff --git a/infra/image/shcontainer b/infra/image/shcontainer
index 018fac8c207e58d203206b47fd0aa4bcd10b1d12..3b6c49689fe9f3b2be93dbf76b88dcd6e39dd2cc 100644
--- a/infra/image/shcontainer
+++ b/infra/image/shcontainer
@@ -4,6 +4,7 @@
 SCRIPTDIR="$(dirname -- "$(readlink -f "${BASH_SOURCE[0]}")")"
 TOPDIR="$(readlink -f "${SCRIPTDIR}/../..")"
 
+# shellcheck disable=SC1091
 . "${SCRIPTDIR}/shdefaults"
 
 # shellcheck disable=SC1091
@@ -15,7 +16,8 @@ container_create() {
     shift 2
     declare -a extra_opts
     readarray -t extra_opts < \
-        <(sed -e "s/-/--cap-drop=/g" -e "s/+/--cap-add=/g" <<< "${CAP_DEFAULTS[@]}")
+        <(sed -e "s/-/--cap-drop=/g" -e "s/+/--cap-add=/g" \
+        <<< "$(printf '%s\n' "${CAP_DEFAULTS[@]}")")
     for opt in "$@"
     do
         [ -z "${opt}" ] && continue