"Between 25 and 30 soldiers have declined duty, probably as a result of pressure from their families," General Nikola Kolev told Bulgarian radio.
The battalion is meant to replace 480 Bulgarian troops who have since September served as part of a 9,000-strong Polish-led multinational contingent in Iraq.
A total 19 people were killed and 200 wounded, including 64 Bulgarian troops, in a multiple car bomb attack Saturday in the holy Shiite city of Karbala, 110 kilometres (70 miles) south of Baghdad.
These were the first casualties suffered by Bulgaria and the country observed a national day of mourning on Tuesday as the bodies of the five killed were brought home for burial.
Members of the replacement battalion on Friday demanded that a clause be written into their contracts stipulating that they can at any time pull out of the mission and return home, the radio reported.
Kolev said the soldiers preparing for duty in Iraq had committed themselves "on a voluntary basis" but added that those who wish to pull out would have to "reimburse expenses for their training for the mission and for their medical exams."
They are due to take over from the current contingent between now and mid-February.