안동 출신. 임자고(林子高)의 아들이다.
1097년(숙종 2) 지추밀원사 판삼사사(知樞密院事判三司事)에 이어 추밀원사 상서좌복야(樞密院使尙書左僕射)가 되었다.
1101년 판상서형부사(判尙書刑部事), 이듬해 판서북면병마사 겸 중군병마사가 되고, 1103년 문하시랑평장사(門下侍郎平章事)에 올랐다.
이 때 동여진의 추장 오아속(烏雅束)이 별부(別部)의 부내로(夫乃老)와 사이가 좋지 않아 공형(公兄)과 지조(之助)에게 군사를 주어 이를 공격하게 하였는데 이들의 기병이 정주관(定州關) 밖에 와서 주둔하였다.
이에 1104년 문하시랑평장사로 동북면행영병마사(東北面行營兵馬使)가 되어 여진에 대비하였다. 정주성에 이르러 여진군과 대치하였는데 훈련되지 않은 군대로 적과 싸우다가 패하고 정주성을 빼앗겼다. 이 때문에 파직되었다가 다시 복직한 뒤 1112년(예종 7) 문하시랑평장사로 치사하였다.