Those -v variables, as you have coded, come into my awk just fine. Your problem might be in the body of your script, which I cannot see.
However, there is no need to feed literals in as variables. Here is a print statement to print a combination of string literals and $2:
echo "word1 word2 word3" |
awk '{print "[-a d] [-i " $2 "]"}'
and here is printf statement that defines a format mask and one replacement token (%s for a string), to be filled by $2:
echo "word1 word2 word3" |
awk '{printf "[-a d] [-i %s]\n",$2}'
Both of the above produce:
[-a d] [-i word2]