You could use a recursive CTE like this:
;with x as (
select cast(object_name(parent_object_id) as varchar(max)) as name, parent_object_id, 0 as lvl
from sys.foreign_keys
where referenced_object_id = object_id('table_name')
union all
select cast(x.name + ' -> ' + object_name(f.parent_object_id) as varchar(max)), f.parent_object_id, lvl + 1
from sys.foreign_keys f
inner join x on x.parent_object_id = f.referenced_object_id
and x.parent_object_id <> f.parent_object_id
)
select name
from x