Você realmente precisa usar matrizes para esse tipo de coisa: link
#!/bin/bash
properties="MAINTAINER=Self, My"
curl_opts=(
-k
-X POST
-F token=TOKEN
-F "ref=master"
-F "variables[GIT_REF]=GIT_REF"
-F "variables[GIT_COMMIT]=GIT_COMMIT"
)
while IFS='=' read -r key value; do
curl_opts+=( -F "variables[$key]=$value" )
done <<< "$properties"
curl "${curl_opts[@]}" https://gitlab.url.net
Este código não está apenas correto, mas o IMO é muito mais fácil de ler.
Além disso, não use ALL_CAPS_VARNAMES: considere aqueles reservados pelo shell.