고조부는 금관가야의 마지막 왕인 구형왕, 증조부는 무력(武力), 할아버지는 서현(舒玄)이며, 유신(庾信)의 6남 4녀 중 큰아들이다. 어머니는 태종무열왕의 셋째 딸 지소부인(智炤夫人)인데 동복 형제로 원술(元述)·원정(元貞)·장이(長耳)·원망(元望)이 있으며, 군승(軍勝)은 이복 형제이다.
666년(문무왕 6) 4월나마(奈麻)로서 천존(天存)의 아들 한림(漢林)과 함께 당나라에 파견되어 좌무위익부중랑장(左武衛翊府中郎將)의 직을 받고 숙위(宿衛)하였다. 668년 6월당나라에서 사찬(沙飡)의 관등에 올라 있으면서 당나라 장수 유인궤(劉仁軌)를 따라 당나라 고종(高宗)의 고구려 정벌 칙지(勅旨)를 가지고 당항진(黨項津 : 지금의 경기도 화성시 남양읍)에 도착하였다. 그 뒤 한동안 기록이 없어 자세한 것은 알 수 없으나 집안이 대대로 출장입상(出將入相 : 문무를 다 갖추어 將相의 벼슬을 모두 지낸다는 뜻)의 집안이었던 점이나, 아버지 유신이 당시 고구려 정벌군의 최고 사령관인 대당대총관(大幢大摠管)의 직책에 있었던 점으로 보아, 고구려와의 전쟁에서 크게 활약했으리라는 것을 짐작할 수 있다.
683년(신문왕 3)에 왕이 일길찬(一吉飡)김흠운(金欽運)의 딸을 왕비로 맞아들이게 되자 이찬(伊飡)문영(文穎)과 함께 그 집에 가서 가례(嘉禮) 날을 정하였다. 납채(納采 : 신랑집에서 신부집으로 혼인을 정하는 의례)는 대아찬(大阿飡) 지상(知常)이 하였다. 이 때 관등은 파진찬(波珍飡)이었는데 뒤에 제2관등인 이찬까지 올랐다.
아버지의 휘하에서 고구려와 싸울 때 큰 공을 세워 사찬의 관등에 있던 열기(裂起)가 정치를 맡고 있던 그에게 군수(郡守)를 희망했으나 들어주지 않은 일이 있었다. 이에 열기가 기원사(祇園寺)의 승려 순경(順憬)에게 “그가 나의 청을 들어주지 않는 것은 아마 그의 아버지가 죽어 나를 잊은 모양인가 보다.”라고 말했는데, 뒤에 그가 이 말을 듣고 삼년산군(三年山郡)의 태수(太守)로 천거하였다.