Как было сказано в комментарии выше, есть способ передать несколько аргументов. Возможно, есть более элегантный способ, но он работает.
jq --arg key1 $k1 --arg key2 $k2 --arg key3 $k3 --arg key4 $k4 '.[$key1] | .[$key2] | .[$key3] | .[$key4] '
jq --arg key $k ' if key != "" then .[$key] else . end'
jq --arg key $k ' if type == "array" then .[$key |tonumber] else .[$key] end'
, конечно, вы можете их комбинировать!