而陸路隋軍三十萬主力也遇到了問題。宇文述所帥的九軍從瀘河(今遼寧義縣附近)、懷遠(今遼寧北寧附近)出發時就遇上了很嚴重的後勤問題。當時人馬都配給了百日的軍糧,另外還有排甲、槍槊並衣資、戎具、火幕等等軍用物資,每個軍士的負重達到了三石之多,相當於一百公斤左右,這樣的重量簡直就不是普通人所能擔負的了的,可是當時的軍令又是“遺棄米粟者斬!”士兵們沒辦法,隻能將糧食偷偷埋在自己的宿營的帳篷內的地下。因此隋軍這三十萬人剛剛行軍到鴨綠江西岸時,軍糧已經吃得差不多了。
可能有人會問,據史書記載,隋朝在瀘河、懷遠二鎮集中了龐大的畜力作為運輸工具,民夫用牛車運糧過去的時候他們的牛車都被扣下作為軍用,為什麼隋軍不用畜力來運輸呢?這點可以從當時遼東的地理環境上找到答案。當時的遼河兩岸均分布著寬闊的沼澤,據宋代的許亢宗的《宣和乙巳奉使金國行程錄箋證》和金人王成榷的《青宮譯語》記載可以看到,懷遠附近的環境極其惡劣,不但“夏秋多蚊虻,不分晝夜,無牛馬能致行”,而且由於沼澤的關係,行路如在水中行,甚至“地獄之苦無加於此”。這樣惡劣的環境極大地限製了隋軍的畜力使用,導致了隋軍的後勤短缺。
除後勤短缺這個問題之外,這支隋軍將領各自為政、人心不齊,決策之時又受煬帝戰略的掣肘,這些都是更加嚴重的問題。
在大軍到達鴨綠江西岸之時,高麗王派大臣乙支文德前來詐降,探察隋軍的虛實,右翊衛大將軍於仲文將他捉住。因為此前煬帝已經給了於仲文密旨:“如果遇到高元或者乙支文德來投降的話,一定要抓住他不能放跑。”可見乙支文德的重要性。此人是高麗國中一等一的人物,有膽有識、謀略無雙。可是在於仲文要執行煬帝命令的時候時,任慰撫使(也就是負責受降招撫高麗軍隊或者是民眾的官員)的尚書右丞劉士龍卻出來阻止,極力勸說,要於仲文把乙友文德放回去。於是於仲文居然真的違背了煬帝的命令,釋放了乙支文德。
這於仲文是個老於戰陣的將軍,擊突厥討吐穀渾均立下了不小的戰功。此次征高麗,於仲文軍指樂浪道,路過烏骨城時,他用瘦弱的馬驢數千放置在軍後偽裝成輜重,然後向東行軍。高麗軍以為隋軍沒什麼防備,便偷襲隋軍的輜重隊,結果正好中了計,被於仲文回軍掩殺,打得七零八落。這樣一個經驗豐富的將軍此時居然如鬼迷心竅一般犯下如此大錯,隻能說是天意使然。
放掉了乙支文德之後,於仲文便後悔不已,連忙派人追趕。而此時的情景就如三國裏諸葛亮借完東風之後的橋段一般。隋軍追兵在後麵大叫:“更有言議,可複來也。”而乙支文德就如孔明一般飄然渡鴨綠江而去。於仲文簡直悔青了腸子,於是特選鐵騎渡水追擊,連破乙支文德設下的阻攔兵馬。可是乙支文德逃跑的速度天下無雙,就是這樣也沒能追上,他留了一首詩給於仲文:“神策究天文,妙算窮地理。戰勝功既高,知足願雲止。”然後連夜燒毀營寨而逃。