Just remove the filter when it is called the first time:
function add_link($link)
{
// this will guarantee the filter will not be called again.
remove_filter( current_filter(), __FUNCTION__ );
return $link . '<a href="http://site.com">Link</a>';
}