I added as-path-exclude as an option to set in a route-map, like as-path-prepend. This is supported by Quagga but not mentioned in the documentation.
My usecase is as follows:
7224 A 7224 C ----- D 65506 VyOS
\ /
B 64512 VyOS
I wanted C to install a route to A through B so that it (C) would then announce it to D.
A and C don't exchange routes between themselves. I control B and D.
C wouldn't install the route to A as it contained its own AS in the path. So using as-path-exclude I stripped off A's AS, and now it works.